local guancheng_active = fk.CreateSkill{
    name = "lingling__guancheng_active",
}
guancheng_active:addEffect("active", {
    interaction = function (self, player)
        return UI.ComboBox{ choices = {"lingling__guancheng_discard", "lingling__guancheng_recast"} }
    end,
    card_num = 1,
    target_num = 0,
    target_filter = Util.FalseFunc,
    card_filter = function (self, player, to_select, selected, selected_targets)
        if #selected == 0 then
            if self.interaction.data == "lingling__guancheng_recast" then
                return Fk:getCardById(to_select).suit == Card.Heart
            else
                return not player:prohibitDiscard(to_select)
            end
        end
    end,
})
return guancheng_active